package top.littlejiang.onlinexam.common.base;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;

import java.io.Serializable;
import java.util.List;

/**
 * @author chen
 * @Description
 * @since 2020/12/26 16:31
 */
public interface BaseService<T> extends IService<T> {

    /**
     * 根据条件查询一个
     * @param queryWrapper
     * @return
     */
	T selectOne(QueryWrapper<T> queryWrapper);

    /**
     * 根据批量逻辑删除
     * @param ids
     */
    void logicDeleteById(List<Serializable> ids);

    /**
     * 根据id 逻辑删除
     * @param id
     */
    void logicDeleteById(Serializable id);

    /**
     * 根据id 物理删除
     * @param ids
     */
    void deleteById(List<Serializable> ids);
}
